The most prevalent method of controlling spark-ignited IC engines in practice is to use one or more sensors for interpreting engine operating conditions, and choose ignition timing based on such interpreted engine operating conditions using a pre-calibrated map stored in an electronic control unit that controls the ignition timing. The map stored in memory of the electronic control unit is typically constructed using a set of calibration experiments on a set of sample engines that are representative of engines on which such ignition system is to be deployed. A typical capacitor discharge ignition type system for controlling ignition timing in an internal combustion engine is illustrated in FIG. 1 and a similar system is described in EP 0989301 A. FIG. 1 shows a capacitor discharge ignition (CDI) type engine ignition system for conducting such ignition timing control using a Central Processing Unit (CPU) 100. Typically, engine ignition systems conduct ignition timing control depending on engine rotational speed. A voltage supply 101 provides a voltage to an ignition unit 102 and the CPU 100. A capacitor 103 in the ignition unit is charged by the supply voltage. When an ignition signal generated the CPU 100 turns on a Silicon Controlled Rectifier (SCR) 104 in the ignition unit 102, the capacitor 103 is discharged and its energy is dumped into an ignition coil 105, generating a spark at a spark plug 106. Signals from a crankshaft speed and position sensor 107 are input to the CPU 100 which, in response to these signals, supplies ignition signals to the ignition unit with an appropriate timing so that using a crankshaft position as a reference, the spark plug sparks at the appropriate crankshaft position. Typically, the spark is timed to occur a few degrees of crankshaft rotation before “top dead centre” (TDC). To maintain optimum engine performance, the timing advance needs to be increased with increasing engine speed although the relationship is not necessarily linear. In general, the CPU 100 operates based on program and control data also referred to as an “ignition map”. Both the program and the control data are stored in a memory. Such memory can comprise, for example, a rewritable memory such as an EEPROM. It is common for the memory and the CPU to be integrally packaged together. These known systems which require inter alia a battery, a CPU and re-writable memory have the disadvantages of cost, size and complexity. This makes such systems especially unattractive for use in low-cost equipment such as tools or motorcycles.
Accordingly, low-cost equipment is still quipped with internal combustion engines making use of mechanical based system to set ignition timing and advance. Known mechanical ignition timing systems comprise inter alia distributor ignition systems and magneto ignition systems. Although, such mechanical ignition timing systems are still widely used they are subjected to several drawbacks. For instance, parts of the mechanics of the mechanical ignition timing systems are specifically adapted to an internal combustion engine. Any adjustments and/or changes required thereof are time- and cost-consuming.